bindings: Convert to use GdkEvent API
authorMatthias Clasen <mclasen@redhat.com>
Sat, 26 Aug 2017 02:51:18 +0000 (22:51 -0400)
committerCarlos Garnacho <carlosg@gnome.org>
Tue, 19 Sep 2017 16:39:02 +0000 (18:39 +0200)
gtk/gtkbindings.c

index 165f82b28b5af4cc768d60d28b694760e0f94149..1bf47b792cb290ee43a65158cacf444a3c0c37dd 100644 (file)
@@ -1580,6 +1580,9 @@ gtk_bindings_activate_event (GObject     *object,
   GdkDisplay *display;
   GtkKeyHash *key_hash;
   gboolean handled = FALSE;
+  guint16 keycode;
+  GdkModifierType state;
+  guint group;
 
   if (!GTK_IS_WIDGET (object))
     return FALSE;
@@ -1587,11 +1590,15 @@ gtk_bindings_activate_event (GObject     *object,
   display = gtk_widget_get_display (GTK_WIDGET (object));
   key_hash = binding_key_hash_for_keymap (gdk_keymap_get_for_display (display));
 
+  gdk_event_get_keycode ((GdkEvent *)event, &keycode);
+  gdk_event_get_state ((GdkEvent *)event, &state);
+  gdk_event_get_key_group ((GdkEvent *)event, &group);
+
   entries = _gtk_key_hash_lookup (key_hash,
-                                  event->hardware_keycode,
-                                  event->state,
+                                  keycode,
+                                  state,
                                   BINDING_MOD_MASK () & ~GDK_RELEASE_MASK,
-                                  event->group);
+                                  group);
 
   handled = gtk_bindings_activate_list (object, entries,
                                         gdk_event_get_event_type ((GdkEvent *) event) == GDK_KEY_RELEASE);